#pragma once
#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>
#include <glm/ext.hpp>
#include <assimp/scene.h>
#include <assimp/postprocess.h>
#include <assimp/cimport.h>
#include <assimp/version.h>
#include "SampleBase.h"
#include <stdio.h>
#include <stdlib.h>
#include "GLShader.h"
class PVPSample : public SampleBase {
public:
	PVPSample();
	virtual ~PVPSample();

	virtual void Init() override;
	virtual void Update(float deltatime) override;
	virtual void Render(float aspect) override;
	virtual void OnGUI() override;
	virtual void ShutDown() override;
private:
	struct PerFrameData {
		glm::mat4 mvp;
	};
	GLProgram* program;
	GLsizeiptr kUniformBufferSize;
	GLuint perFrameDataBuffer;
	size_t indiceSize;
};